home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2002 #11 / Amiga Plus CD - 2002 - No. 11.iso / Tools / Development / Emperor_ / Emperor / Projects / AminetSearcher / AminetSearcher_lowlevel.h < prev    next >
Encoding:
C/C++ Source or Header  |  2002-10-28  |  3.5 KB  |  143 lines

  1. BOOL stringcompare(char *, char *);
  2. char *makelower(char *, const char *);
  3. char *stringcopy(char *, const char *);
  4. char *stringcopywithoutspace(char *, const char *);
  5. void make_entry(void);
  6. void AllocListbrowserNodes(struct List *);
  7.  
  8. struct List founded_files_list;
  9. char founded_files_list_col1_raw[1024][31];
  10. char founded_files_list_col2_raw[1024][31];
  11. char founded_files_list_col3_raw[1024][31];
  12. char founded_files_list_col4_raw[1024][31];
  13. char founded_files_list_col5_raw[1024][31];
  14. char indexdir[101] = "CD0:Lists/Aminet_Dir.doc";
  15. char convert[101];
  16. char executepuffer[300][101];
  17. char pattern[5][31];
  18. char patternlower[5][31];
  19. char puffer[101];
  20. char puffer2[201];
  21.  
  22. BOOL stringcompare(char *buffer1, char *buffer2)
  23. {
  24.   BYTE count = 0, length = 0, count2 = 0;
  25.  
  26.   while(*buffer1++) length++;
  27.   buffer1 -= length;
  28.   buffer1--;
  29.   while((*buffer2) && (count != length))
  30.   {
  31.     count2++;
  32.     buffer2++;
  33.     if(*buffer1 == *buffer2)
  34.     {
  35.       count++;
  36.       buffer1++;
  37.     }
  38.     else
  39.     {
  40.       buffer1 -= count;
  41.       count = 0;
  42.     }
  43.   }
  44.   if(length == count) return(TRUE);
  45.   else return(FALSE);
  46. }
  47.  
  48. char *makelower(char *buffer1, const char *buffer2)
  49. {
  50.   char *d = buffer1, c;
  51.  
  52.   do
  53.   {
  54.     c = *buffer2++;
  55.     if((c >= (char) 65) && (c <= (char) 90)) c += (char) 32;
  56.     *buffer1++ = c;
  57.   }
  58.   while(c);
  59.  
  60.   return(d);
  61. }
  62.  
  63. char *stringcopy(char *buffer1, const char *buffer2)
  64. {
  65.   char *d = buffer1, c;
  66.  
  67.   do
  68.   {
  69.     c = *buffer2++;
  70.     if(c != 0x0a) *buffer1++ = c;
  71.   }
  72.   while(c);
  73.  
  74.   return(d);
  75. }
  76.  
  77. char *stringcopywithoutspace(char *buffer1, const char *buffer2)
  78. {
  79.   char *d = buffer1, c;
  80.  
  81.   do
  82.   {
  83.     c = *buffer2++;
  84.     if(c != ' ') *buffer1++ = c;
  85.     else
  86.     {
  87.       *buffer1 = NULL;
  88.       break;
  89.     }
  90.   }
  91.   while(c);
  92.  
  93.   return(d);
  94. }
  95.  
  96. void make_entry(void)
  97. {
  98.   char buffer1[41];
  99.   BOOL changed = FALSE;
  100.   WORD i;
  101.  
  102.   for(i = 0;i < 5;i++)
  103.   {
  104.     if(pattern[i][0])
  105.     {
  106.       if(stringcompare(patternlower[i], convert))
  107.       {
  108.         strcpy(founded_files_list_col1_raw[entryzahl], pattern[i]);
  109.         changed = TRUE;
  110.       }
  111.     }
  112.   }
  113.   if(changed)
  114.   {
  115.     for(i = 0;i < 19;i++) founded_files_list_col2_raw[entryzahl][i] = puffer[i + 00]; founded_files_list_col2_raw[entryzahl][19] = NULL;
  116.     for(i = 0;i < 9;i++)  founded_files_list_col3_raw[entryzahl][i] = puffer[i + 19]; founded_files_list_col3_raw[entryzahl][9] = NULL;
  117.     for(i = 0;i < 06;i++) founded_files_list_col4_raw[entryzahl][i] = puffer[i + 29]; founded_files_list_col4_raw[entryzahl][06] = NULL;
  118.     for(i = 0;i < 40;i++) buffer1[i] = puffer[i + 39]; buffer1[39] = NULL;
  119.     stringcopy(founded_files_list_col5_raw[entryzahl], buffer1);
  120.     entryzahl++;
  121.     AllocListbrowserNodes(&founded_files_list);
  122.     Emperor_SetGadgetAttrComplex(Listbrowser1, LISTBROWSER_Labels, (STRPTR) &founded_files_list);
  123.   }
  124. }
  125.  
  126. void AllocListbrowserNodes(struct List *list)
  127. {
  128.   struct Node *node;
  129.   WORD i;
  130.  
  131.   NewList(list);
  132.   for(i = 0;i < entryzahl;i++)
  133.   {
  134.     node = AllocListBrowserNode(5, LBNA_Column, 0, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col1_raw[i],
  135.                                    LBNA_Column, 1, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col2_raw[i],
  136.                                    LBNA_Column, 2, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col3_raw[i],
  137.                                    LBNA_Column, 3, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col4_raw[i],
  138.                                    LBNA_Column, 4, LBNCA_CopyText, TRUE, LBNCA_Text, founded_files_list_col5_raw[i], TAG_DONE);
  139.     AddTail(list, node);
  140.   }
  141. }
  142.  
  143.